package com.qianyu.core.entity.bean;


import com.baomidou.mybatisplus.annotation.TableName;
import com.qianyu.core.entity.base.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.Date;

/**
* 租号订单
* @TableName tb_qq_rent_order
*/
@Data
@ApiModel(value = "订单")
@TableName(value = "tb_qq_rent_order")
public class QqRentOrder extends BaseBean {

    /**
    * 代理商id
    */
    @NotNull(message="[代理商id]不能为空")
    @ApiModelProperty("代理商id")
    private Long agencyId;
    /**
    * 租用数量
    */
    @NotNull(message="[租用数量]不能为空")
    @ApiModelProperty("租用数量")
    private Integer num;
    /**
    * 租用天数
    */
    @NotNull(message="[租用天数]不能为空")
    @ApiModelProperty("租用天数")
    private Integer dayNum;
    /**
    * 租用单号
    */
    @NotBlank(message="[租用单号]不能为空")
    @Size(max= 43,message="编码长度不能超过43")
    @ApiModelProperty("租用单号")
    private String sn;
    /**
    * 订单类型:0=初单,1=续费
    */
    @NotNull(message="[订单类型:0=初单,1=续费]不能为空")
    @ApiModelProperty("订单类型:0=初单,1=续费")
    private Integer type;
    /**
    * 订单状态:0=待处理,1=处理中,2=处理完成,3=没有余号
    */
    @NotNull(message="[订单状态:0=待处理,1=处理中,2=处理完成,3=没有余号]不能为空")
    @ApiModelProperty("订单状态:0=待处理,1=处理中,2=处理完成,3=没有余号")
    private Integer status;
    /**
    * 实际成功数量
    */
    @NotNull(message="[实际成功数量]不能为空")
    @ApiModelProperty("实际成功数量")
    private Integer realNum;
    /**
    * 单价/个/天
    */
    @NotNull(message="[单价/个/天]不能为空")
    @ApiModelProperty("单价/个/天")
    private BigDecimal price;
    /**
    * 订单价格
    */
    @NotNull(message="[订单价格]不能为空")
    @ApiModelProperty("订单价格")
    private BigDecimal orderPrice;
    /**
    * 支付价格
    */
    @NotNull(message="[支付价格]不能为空")
    @ApiModelProperty("支付价格")
    private BigDecimal payPrice;
    /**
    * 重试补充次数
    */
    @NotNull(message="[重试补充次数]不能为空")
    @ApiModelProperty("重试补充次数")
    private Integer retry;
    /**
    * 完成时间
    */
    @ApiModelProperty("完成时间")
    private Date completeTime;

}
